std::literals::chrono_literals:: operator""h
|
Определено в заголовочном файле
<chrono>
|
||
|
constexpr
std::
chrono
::
hours
operator "" h ( unsigned long long hrs ) ; |
(1) | (начиная с C++14) |
|
constexpr
std::
chrono
::
duration
<
/*unspecified*/
,
std::
ratio
<
3600
,
1
>>
operator "" h ( long double hrs ) ; |
(2) | (начиная с C++14) |
Формирует литерал std::chrono::duration представляющий часы.
Содержание |
Параметры
| hrs | - | количество часов |
Возвращаемое значение
Литерал std::chrono::duration .
Возможная реализация
constexpr std::chrono::hours operator""h(unsigned long long h) { return std::chrono::hours(h); } constexpr std::chrono::duration<long double, ratio<3600,1>> operator""h(long double h) { return std::chrono::duration<long double, std::ratio<3600,1>>(h); } |
Примечания
Этот оператор объявлен в пространстве имён std :: literals :: chrono_literals , где и literals , и chrono_literals являются встроенными пространствами имён . Доступ к этому оператору можно получить с помощью:
- using namespace std :: literals ,
- using namespace std :: chrono_literals , или
- using namespace std :: literals :: chrono_literals .
Кроме того, в пространстве имён std :: chrono директива using namespace literals :: chrono_literals ; предоставляется стандартной библиотекой , так что если программист использует using namespace std :: chrono ; для получения доступа к классам в библиотеке chrono , соответствующие литеральные операторы также становятся видимыми.
Пример
#include <chrono> #include <iostream> int main() { using namespace std::chrono_literals; auto day = 24h; auto halfhour = 0.5h; std::cout << "one day is " << day.count() << " hours (" << day << ")\n" << "half an hour is " << halfhour.count() << " hours (" << halfhour << ")\n"; }
Вывод:
one day is 24 hours (24h) half an hour is 0.5 hours (0.5h)
Смотрите также
|
создает новый duration
(публичная функция-член
std::chrono::duration<Rep,Period>
)
|